package com.sg.dto.integration.app;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Objects;

/**
 * @desc WorkTaskParticipantsDto
 * @使用场景
 */
@Data
public class WorkTaskParticipantsDto extends BaseDto implements Serializable {

    /**
     * 接收任务参与者身份人员ID
     */
    @ApiModelProperty("接收任务参与者身份人员ID")
    private String participantsOriginalRoleMemberId;

    /**
     * 接收任务参与者账号
     */
    @ApiModelProperty("接收任务参与者账号")
    private String participantsUserId;

    /**
     * 接收任务参与者就职记录ID
     */
    @ApiModelProperty("接收任务参与者就职记录ID")
    private String participantsInductionId;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        WorkTaskParticipantsDto that = (WorkTaskParticipantsDto) o;
        return (
                participantsOriginalRoleMemberId ==
                        that.participantsOriginalRoleMemberId &&
                        participantsUserId == that.participantsUserId &&
                        participantsInductionId == that.participantsInductionId
        );
    }

    @Override
    public int hashCode() {
        return Objects.hash(
                super.hashCode(),
                participantsOriginalRoleMemberId,
                participantsUserId,
                participantsInductionId
        );
    }

}
